#include <iostream>

using namespace std;

class Figura {
	string nazwa;
	float powierzchnia;
	static int liczbaObiektow; 

public:
	Figura(string naz, float pow);
	~Figura(); //czy tu sie cos powinno dziac w tym destruktorze? kazala zrobic ale przeciez nie ma dynamicznej alokacji pamieci? a chyba wtedy to ma sens. O no i widze pytanie jest z tym zwiazane w zadaniu 1.
	friend ostream & operator<<(ostream & ekran, Figura & b);
	static wypisz(static int lOb);

};

class Kolo :public Figura {
	float r;
	//co z polami dziedziczacymi? powinien byc konstruktor dla nich w tej klasie? 
public:
	Kolo(float prom);
	~Kolo();
	//czy moge teraz uzyc ostreama z Figura?


};

class Kwadrat :public Figura {
	float bok;

public:
	Kwadrat(float a);
	~Kwadrat(); //co z tymi konstruktorami i destruktorem we wszystkich zadaniach :< ? chce byc taka madra jak ty ;<
	//czy moge teraz uzyc ostreama z Figura?


};

// WTF ZADANIE 4
//nie rozbuduje 5ego bo nie mam 4ego:/

class Prostokat :public Kwadrat {
	float h;
public:
	Prostokat(float wys);
	~Prostokat();
	//czy moge teraz uzyc ostreama z Figura?
	//dlaczego caly czas mowa o konstruktorze w l mn ;?
};